home *** CD-ROM | disk | FTP | other *** search
/ VRML 2.0 Sourcebook (2nd Edition) / VRML 2.0 Sourcebook CD [md5 fed90f4f9c39d5a60d477058775c7e21].iso / book / mac / ch28 / dungeon.wrl < prev    next >
Text File  |  1996-09-23  |  2KB  |  76 lines

  1. #VRML V2.0 utf8
  2. # The VRML 2.0 Sourcebook
  3. # Copyright [1997] By
  4. # Andrea L. Ames, David R. Nadeau, and John L. Moreland
  5. Group {
  6.     children [
  7.     # First room
  8.         LOD {
  9.             range [ 20.0 ]
  10.             level [
  11.                 Inline { url "droom.wrl" },
  12.                 Group { }
  13.             ]
  14.         },
  15.     # Second room
  16.         Transform {
  17.             translation 0.0 0.0 -10.0
  18.             children LOD {
  19.                 range [ 20.0 ]
  20.                 level [
  21.                     Inline { url "droom.wrl" },
  22.                     Group { }
  23.                 ]
  24.             }
  25.         },
  26.     # Wall between first and second rooms
  27.         Transform {
  28.             translation 0.0 0.0 -5.0
  29.             children Inline { url "dwall2.wrl" }
  30.         },
  31.     # Left and right door panels
  32.         Transform {
  33.             translation 0.0 0.0 -4.95
  34.             children [
  35.                 DEF LeftDoor Transform {
  36.                     children Transform {
  37.                         translation -0.75 0.0 0.0
  38.                         children DEF Door Inline { url "ddoor.wrl" }
  39.                     }
  40.                 },
  41.                 DEF RightDoor Transform {
  42.                     children Transform {
  43.                         translation 0.75 0.0 0.0
  44.                         children USE Door
  45.                     }
  46.                 },
  47.                 DEF TouchDoor TouchSensor { }
  48.             ]
  49.         },
  50.     # Animation clock
  51.         DEF Clock TimeSensor {
  52.             cycleInterval 5.0
  53.         },
  54.     # Animation paths for the left and right doors
  55.         DEF LeftOpen PositionInterpolator {
  56.             key [ 0.0, 0.1, 0.9, 1.0 ]
  57.             keyValue [
  58.                  0.0 0.0 0.0, -1.3 0.0 0.0,
  59.                 -1.3 0.0 0.0,  0.0 0.0 0.0
  60.             ]
  61.         },
  62.         DEF RightOpen PositionInterpolator {
  63.             key [ 0.0, 0.1, 0.9, 1.0 ]
  64.             keyValue [
  65.                  0.0 0.0 0.0,  1.3 0.0 0.0,
  66.                  1.3 0.0 0.0,  0.0 0.0 0.0
  67.             ]
  68.         }
  69.     ]
  70. }
  71. ROUTE TouchDoor.touchTime     TO Clock.set_startTime
  72. ROUTE Clock.fraction_changed  TO LeftOpen.set_fraction
  73. ROUTE Clock.fraction_changed  TO RightOpen.set_fraction
  74. ROUTE LeftOpen.value_changed  TO LeftDoor.set_translation
  75. ROUTE RightOpen.value_changed TO RightDoor.set_translation
  76.